| Предыдущий раздел | ОСНОВНЫЕ ОПЕРАТОРЫ АССЕМБЛЕРА | Следующий раздел |
Это следующие операторы.
1) int, iret – операторы программного прерывания и возврата из него. Данные операторы не имеют смысловых отличий от соответствующих машинных команд. Единственное, на что требуется обратить внимание, это тип системы счисления операнда в операторе int. Так как “родной” для ассемблера является десятичная система, то любое шестнадцатеричное число должно записываться по правилам, принятым в ассемблере. Это:
а) если старшей “цифрой” числа является буква, то перед ней записывается 0;
б) сразу за числом записывается буква h.
Пример: int 21h .
2) Оператор останова hlt останавливает ЦП до первого аппаратного прерывания. Такие операторы часто встречаются в диагностических программах, а также для снижения нагрузки на ЦП в циклах — обработчиках событий мыши и клавиатуры.
Оператор холостого хода nop не действует ни на флаги, ни на регистры, ни на ячейки ОП. Единственное – он увеличивает содержимое IP на 1. Данный оператор имеет много применений для упрощения отладки программы. Три из них:
а) кодом оператора (90h) можно «забить» объектный код в том случае, если вам надо удалить машинную команду, не транслируя программу заново;
б) можно сделать оператор nop последним в тестируемой программе и тем самым получить удобное место для остановки трассировки;
в) при смене режимов работы процессора содержимое указателя команды IP часто увеличивается на один байт. Для устранения ошибок целесообразно разместить оператор nop сразу после оператора, выполняющего смену режима работы ЦП.
| Предыдущий раздел | В начало | Следующий раздел |